Find all markers for heatmapping and checking targetted genes of interest

Goal here is to just develop a nonbiased set of gene markers that can give readers a sense of the markers that are present in each cluster relative to the rest of those in the dataset. We don’t do this in a condition concious matter, its just for orientation/annotation.

suppressPackageStartupMessages(library(Seurat))
suppressPackageStartupMessages(library(Signac))
suppressPackageStartupMessages(library(dplyr))
suppressPackageStartupMessages(library(ggplot2))

#this is the object post chromvar. Should be the last "checkpoint" object that analysis is plotted from. Contains annotations and all assays. 
results<-readRDS("~/gibbs/DOGMAMORPH/Ranalysis/Objects/20230606FinalObj.rds")
DefaultAssay(results)<-"RNA"


#borrowed from wes anderson color package
BottleRocket2 = c("#FAD510", "#CB2314", "#273046", "#354823", "#1E1E1E")

#modified to expand and put pairs of hues together for conditions
BottleRocket3<-c("#fad510", "#e37c12", "#cb2314","#792a2d", "#273046", "#3b4357")
#find the actual markers
Markers<-FindAllMarkers(results, only.pos=TRUE)
## Calculating cluster Memory_CD4_Polarized_1
## Calculating cluster Memory_CD4_Polarized_2
## Calculating cluster Treg_proliferating
## Calculating cluster Cytotoxic_T
## Calculating cluster NK
## Calculating cluster Memory_CD4_1
## Calculating cluster Memory_CD4_2
## Calculating cluster Naive_CD4_T_1
## Calculating cluster Naive_CD4_T_2
## Calculating cluster Naive_CD4_T_3
## Calculating cluster cDC
## Calculating cluster pDC
## Calculating cluster CD14+_Mono
## Calculating cluster Naive_B
## Calculating cluster Memory_B
## Calculating cluster Plasma
#filter out anything without a significant adjusted P 
Markers<-Markers[Markers$p_val_adj<0.05,]
#saving markers for a table eventually
write.table("~/gibbs/DOGMAMORPH/Ranalysis/results/FindAllMakers.tsv",sep = "\t", row.names = FALSE, quote = FALSE)
## x
## ~/gibbs/DOGMAMORPH/Ranalysis/results/FindAllMakers.tsv
#subset to the top 12 markers per cluster, as there is usually some overlap
top10<-group_by(Markers, cluster)%>%slice_max(avg_log2FC, n=12)%>%select(gene)
## Adding missing grouping variables: `cluster`
#132 genes left out of target 160, probably unavoidable though 
top10<-unique(top10$gene)

#need to scale the data
results<-ScaleData(results, features = top10)
## Centering and scaling data matrix
#generate the actual heatmap, clearly at least one population is very noisy here, it's the first group of cells in each case. They're probably obscuring some signals, but it does seem they are being roughly placed with other cells that look similar to themselves. If I were to guess I'd say they have high ambient RNA. 
DoHeatmap(results, top10, disp.min = -2, disp.max = 2)+scale_fill_gradientn(limits = c(-2,2), colors = c(BottleRocket2[1], "white", BottleRocket2[4]))
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

This is a very standard plot. It is concerning that htere is a subset that’s apparent in Memory CD4 Polarized 1 and Naive CD4 T 1 that clearly have some increased levels of myeloid genes, but it otherwise looks about as expected.

checking morphine genes

Just want to see if the morphine receptor genes are different across groups.

opioid.genes<-c("OPRM1", "OGFR","OPRK1","OPRD1","OPRL1")

#receptors are most highly expressed on the myeloid compartment for OGFR and OPRL1
#OPRK1 and OPRD1 are not on any population. 
#OPRM1 has expression aross T cell types, mainly CD4 surprisingly. 

DotPlot(results, features = opioid.genes, split.by = "Treatment", cols = BottleRocket2[1:3])

#generating the timepoint treatment columns and sorting appropriately
results$T_Tp<-paste(results$Treatment, results$Timepoint, sep = "_")
results$T_Tp<-factor(results$T_Tp, levels = c("Methadone_0","Methadone_3","Bup.Nalo_0", "Bup.Nalo_3", "Naltrexone_0", "Naltrexone_3"))


DotPlot(results, features = opioid.genes, split.by = "T_Tp", cols = BottleRocket3)

#oks like OGFR is the real primary for myeloid cells. Doesn't appear to change between timepoints in any significant way in any of these populations. So I'd say these are probably unimpacted. Might be interesting to see if there are any highly correlated genes with these in the future. 
VlnPlot(results, c("OGFR","OPRL1"), cols = BottleRocket3, group.by = "T_Tp", idents = "pDC")

VlnPlot(results, c("OGFR","OPRL1"), cols = BottleRocket3, group.by = "T_Tp", idents = "cDC")

VlnPlot(results, c("OGFR","OPRL1"), cols = BottleRocket3, group.by = "T_Tp", idents = "CD14+_Mono")

#very hard to get a good sense from this alone. A very small subset actuall expresses so its not pushing things up. 
VlnPlot(results, c("OPRM1"), cols = BottleRocket3, group.by = "T_Tp", idents = "Treg_proliferating")

VlnPlot(results, c("OPRM1"), cols = BottleRocket3, group.by = "T_Tp", idents = "Memory_CD4_1")

VlnPlot(results, c("OPRM1"), cols = BottleRocket3, group.by = "T_Tp", idents = "Naive_CD4_T_2")

results<-ScaleData(results, features = opioid.genes)
## Centering and scaling data matrix
DoHeatmap(results, features = opioid.genes, cells = names(Idents(results))[grep("Treg_proliferating", Idents(results))], group.by = "T_Tp",disp.min = -2, disp.max = 2)+scale_fill_gradientn(limits = c(-2,2), colors = c(BottleRocket2[1], "white", BottleRocket2[4]))
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

DoHeatmap(results, features = opioid.genes, cells = names(Idents(results))[grep("Memory_CD4_1", Idents(results))], group.by = "T_Tp",disp.min = -2, disp.max = 2)+scale_fill_gradientn(limits = c(-2,2), colors = c(BottleRocket2[1], "white", BottleRocket2[4]))
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

DoHeatmap(results, features = opioid.genes, cells = names(Idents(results))[grep("Naive_CD4_T_2", Idents(results))], group.by = "T_Tp",disp.min = -2, disp.max = 2)+scale_fill_gradientn(limits = c(-2,2), colors = c(BottleRocket2[1], "white", BottleRocket2[4]))
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

#no sig changes in any of these identified groups brought on by the treatment. 
Treg_prof_test<-FindMarkers(results, ident.1 = "Methadone_0", ident.2 = "Methadone_3", subset.ident = "Treg_proliferating", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
Treg_prof_test_1<-FindMarkers(results, ident.1 = "Bup.Nalo_0", ident.2 = "Bup.Nalo_3", subset.ident = "Treg_proliferating", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
Treg_prof_test_2<-FindMarkers(results, ident.1 = "Naltrexone_0", ident.2 = "Naltrexone_3", subset.ident = "Treg_proliferating", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )

Memory_test<-FindMarkers(results, ident.1 = "Methadone_0", ident.2 = "Methadone_3", subset.ident = "Memory_CD4_1", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
Memory_test_1<-FindMarkers(results, ident.1 = "Bup.Nalo_0", ident.2 = "Bup.Nalo_3", subset.ident = "Memory_CD4_1", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
Memory_test_2<-FindMarkers(results, ident.1 = "Naltrexone_0", ident.2 = "Naltrexone_3", subset.ident = "Memory_CD4_1", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )

Naive_test<-FindMarkers(results, ident.1 = "Methadone_0", ident.2 = "Methadone_3", subset.ident = "Naive_CD4_T_2", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
Naive_test_1<-FindMarkers(results, ident.1 = "Bup.Nalo_0", ident.2 = "Bup.Nalo_3", subset.ident = "Naive_CD4_T_2", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
Naive_test_2<-FindMarkers(results, ident.1 = "Naltrexone_0", ident.2 = "Naltrexone_3", subset.ident = "Naive_CD4_T_2", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )

pDC_test<-FindMarkers(results, ident.1 = "Methadone_0", ident.2 = "Methadone_3", subset.ident = "pDC", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
pDC_test_1<-FindMarkers(results, ident.1 = "Bup.Nalo_0", ident.2 = "Bup.Nalo_3", subset.ident = "pDC", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
pDC_test_2<-FindMarkers(results, ident.1 = "Naltrexone_0", ident.2 = "Naltrexone_3", subset.ident = "pDC", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )

cDC_test<-FindMarkers(results, ident.1 = "Methadone_0", ident.2 = "Methadone_3", subset.ident = "cDC", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
cDC_test_1<-FindMarkers(results, ident.1 = "Bup.Nalo_0", ident.2 = "Bup.Nalo_3", subset.ident = "cDC", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
cDC_test_2<-FindMarkers(results, ident.1 = "Naltrexone_0", ident.2 = "Naltrexone_3", subset.ident = "cDC", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )

Mono_test<-FindMarkers(results, ident.1 = "Methadone_0", ident.2 = "Methadone_3", subset.ident = "CD14+_Mono", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
Mono_test_1<-FindMarkers(results, ident.1 = "Bup.Nalo_0", ident.2 = "Bup.Nalo_3", subset.ident = "CD14+_Mono", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )
Mono_test_2<-FindMarkers(results, ident.1 = "Naltrexone_0", ident.2 = "Naltrexone_3", subset.ident = "CD14+_Mono", features = opioid.genes, min.pct = -Inf, min.diff.pct = -Inf, logfc.threshold = -Inf, group.by = "T_Tp" )

conclusion

We have well defined populations based on the DE between clusters. We do not have differences in morphine receptor expression, but we might be able to find something in the ATAC.

devtools::session_info()
## Warning in system("timedatectl", intern = TRUE): running command 'timedatectl'
## had status 1
## - Session info ---------------------------------------------------------------
##  setting  value
##  version  R version 4.2.0 (2022-04-22)
##  os       Red Hat Enterprise Linux 8.7 (Ootpa)
##  system   x86_64, linux-gnu
##  ui       X11
##  language (EN)
##  collate  C
##  ctype    C
##  tz       Etc/UTC
##  date     2023-06-07
##  pandoc   2.17.1.1 @ /usr/lib/rstudio-server/bin/quarto/bin/ (via rmarkdown)
## 
## - Packages -------------------------------------------------------------------
##  package          * version   date (UTC) lib source
##  abind              1.4-5     2016-07-21 [2] CRAN (R 4.2.0)
##  beeswarm           0.4.0     2021-06-01 [2] CRAN (R 4.2.0)
##  BiocGenerics       0.44.0    2022-11-01 [1] Bioconductor
##  BiocParallel       1.32.6    2023-03-17 [1] Bioconductor
##  Biostrings         2.66.0    2022-11-01 [1] Bioconductor
##  bitops             1.0-7     2021-04-24 [2] CRAN (R 4.2.0)
##  bslib              0.4.2     2022-12-16 [1] CRAN (R 4.2.0)
##  cachem             1.0.8     2023-05-01 [1] CRAN (R 4.2.0)
##  callr              3.7.3     2022-11-02 [1] CRAN (R 4.2.0)
##  cli                3.6.1     2023-03-23 [1] CRAN (R 4.2.0)
##  cluster            2.1.4     2022-08-22 [2] CRAN (R 4.2.0)
##  codetools          0.2-19    2023-02-01 [2] CRAN (R 4.2.0)
##  colorspace         2.1-0     2023-01-23 [2] CRAN (R 4.2.0)
##  cowplot            1.1.1     2020-12-30 [2] CRAN (R 4.2.0)
##  crayon             1.5.2     2022-09-29 [2] CRAN (R 4.2.0)
##  data.table         1.14.8    2023-02-17 [2] CRAN (R 4.2.0)
##  DBI                1.1.3     2022-06-18 [2] CRAN (R 4.2.0)
##  deldir             1.0-6     2021-10-23 [2] CRAN (R 4.2.0)
##  devtools           2.4.5     2022-10-11 [1] CRAN (R 4.2.0)
##  digest             0.6.31    2022-12-11 [2] CRAN (R 4.2.0)
##  dplyr            * 1.1.2     2023-04-20 [1] CRAN (R 4.2.0)
##  ellipsis           0.3.2     2021-04-29 [2] CRAN (R 4.2.0)
##  evaluate           0.20      2023-01-17 [2] CRAN (R 4.2.0)
##  fansi              1.0.4     2023-01-22 [2] CRAN (R 4.2.0)
##  farver             2.1.1     2022-07-06 [2] CRAN (R 4.2.0)
##  fastmap            1.1.1     2023-02-24 [1] CRAN (R 4.2.0)
##  fastmatch          1.1-3     2021-07-23 [2] CRAN (R 4.2.0)
##  fitdistrplus       1.1-8     2022-03-10 [2] CRAN (R 4.2.0)
##  fs                 1.6.1     2023-02-06 [2] CRAN (R 4.2.0)
##  future             1.32.0    2023-03-07 [1] CRAN (R 4.2.0)
##  future.apply       1.10.0    2022-11-05 [1] CRAN (R 4.2.0)
##  generics           0.1.3     2022-07-05 [2] CRAN (R 4.2.0)
##  GenomeInfoDb       1.34.9    2023-02-02 [1] Bioconductor
##  GenomeInfoDbData   1.2.9     2023-03-17 [1] Bioconductor
##  GenomicRanges      1.50.2    2022-12-16 [1] Bioconductor
##  ggbeeswarm         0.7.2     2023-04-29 [1] CRAN (R 4.2.0)
##  ggplot2          * 3.4.2     2023-04-03 [1] CRAN (R 4.2.0)
##  ggrastr            1.0.1     2021-12-08 [1] CRAN (R 4.2.0)
##  ggrepel            0.9.3     2023-02-03 [1] CRAN (R 4.2.0)
##  ggridges           0.5.4     2022-09-26 [1] CRAN (R 4.2.0)
##  globals            0.16.2    2022-11-21 [1] CRAN (R 4.2.0)
##  glue               1.6.2     2022-02-24 [2] CRAN (R 4.2.0)
##  goftest            1.2-3     2021-10-07 [2] CRAN (R 4.2.0)
##  gridExtra          2.3       2017-09-09 [2] CRAN (R 4.2.0)
##  gtable             0.3.3     2023-03-21 [1] CRAN (R 4.2.0)
##  highr              0.10      2022-12-22 [1] CRAN (R 4.2.0)
##  htmltools          0.5.5     2023-03-23 [1] CRAN (R 4.2.0)
##  htmlwidgets        1.6.2     2023-03-17 [1] CRAN (R 4.2.0)
##  httpuv             1.6.9     2023-02-14 [1] CRAN (R 4.2.0)
##  httr               1.4.5     2023-02-24 [1] CRAN (R 4.2.0)
##  ica                1.0-3     2022-07-08 [2] CRAN (R 4.2.0)
##  igraph             1.4.2     2023-04-07 [1] CRAN (R 4.2.0)
##  IRanges            2.32.0    2022-11-01 [1] Bioconductor
##  irlba              2.3.5.1   2022-10-03 [1] CRAN (R 4.2.0)
##  jquerylib          0.1.4     2021-04-26 [2] CRAN (R 4.2.0)
##  jsonlite           1.8.4     2022-12-06 [2] CRAN (R 4.2.0)
##  KernSmooth         2.23-20   2021-05-03 [2] CRAN (R 4.2.0)
##  knitr              1.42      2023-01-25 [1] CRAN (R 4.2.0)
##  labeling           0.4.2     2020-10-20 [2] CRAN (R 4.2.0)
##  later              1.3.0     2021-08-18 [2] CRAN (R 4.2.0)
##  lattice            0.21-8    2023-04-05 [1] CRAN (R 4.2.0)
##  lazyeval           0.2.2     2019-03-15 [2] CRAN (R 4.2.0)
##  leiden             0.4.3     2022-09-10 [1] CRAN (R 4.2.0)
##  lifecycle          1.0.3     2022-10-07 [1] CRAN (R 4.2.0)
##  limma              3.54.2    2023-02-28 [1] Bioconductor
##  listenv            0.9.0     2022-12-16 [2] CRAN (R 4.2.0)
##  lmtest             0.9-40    2022-03-21 [2] CRAN (R 4.2.0)
##  magrittr           2.0.3     2022-03-30 [2] CRAN (R 4.2.0)
##  MASS               7.3-59    2023-04-21 [1] CRAN (R 4.2.0)
##  Matrix             1.5-4     2023-04-04 [1] CRAN (R 4.2.0)
##  matrixStats        0.63.0    2022-11-18 [2] CRAN (R 4.2.0)
##  memoise            2.0.1     2021-11-26 [2] CRAN (R 4.2.0)
##  mime               0.12      2021-09-28 [2] CRAN (R 4.2.0)
##  miniUI             0.1.1.1   2018-05-18 [2] CRAN (R 4.2.0)
##  munsell            0.5.0     2018-06-12 [2] CRAN (R 4.2.0)
##  nlme               3.1-162   2023-01-31 [1] CRAN (R 4.2.0)
##  parallelly         1.35.0    2023-03-23 [1] CRAN (R 4.2.0)
##  patchwork          1.1.2     2022-08-19 [1] CRAN (R 4.2.0)
##  pbapply            1.7-0     2023-01-13 [1] CRAN (R 4.2.0)
##  pillar             1.9.0     2023-03-22 [1] CRAN (R 4.2.0)
##  pkgbuild           1.4.0     2022-11-27 [1] CRAN (R 4.2.0)
##  pkgconfig          2.0.3     2019-09-22 [2] CRAN (R 4.2.0)
##  pkgload            1.3.2     2022-11-16 [1] CRAN (R 4.2.0)
##  plotly             4.10.1    2022-11-07 [1] CRAN (R 4.2.0)
##  plyr               1.8.8     2022-11-11 [1] CRAN (R 4.2.0)
##  png                0.1-8     2022-11-29 [1] CRAN (R 4.2.0)
##  polyclip           1.10-4    2022-10-20 [1] CRAN (R 4.2.0)
##  prettyunits        1.1.1     2020-01-24 [2] CRAN (R 4.2.0)
##  processx           3.8.1     2023-04-18 [1] CRAN (R 4.2.0)
##  profvis            0.3.8     2023-05-02 [1] CRAN (R 4.2.0)
##  progressr          0.13.0    2023-01-10 [1] CRAN (R 4.2.0)
##  promises           1.2.0.1   2021-02-11 [2] CRAN (R 4.2.0)
##  ps                 1.7.5     2023-04-18 [1] CRAN (R 4.2.0)
##  purrr              1.0.1     2023-01-10 [1] CRAN (R 4.2.0)
##  R6                 2.5.1     2021-08-19 [2] CRAN (R 4.2.0)
##  RANN               2.6.1     2019-01-08 [2] CRAN (R 4.2.0)
##  RColorBrewer       1.1-3     2022-04-03 [2] CRAN (R 4.2.0)
##  Rcpp               1.0.10    2023-01-22 [1] CRAN (R 4.2.0)
##  RcppAnnoy          0.0.20    2022-10-27 [1] CRAN (R 4.2.0)
##  RcppRoll           0.3.0     2018-06-05 [2] CRAN (R 4.2.0)
##  RCurl              1.98-1.12 2023-03-27 [1] CRAN (R 4.2.0)
##  remotes            2.4.2     2021-11-30 [2] CRAN (R 4.2.0)
##  reshape2           1.4.4     2020-04-09 [2] CRAN (R 4.2.0)
##  reticulate         1.28      2023-01-27 [1] CRAN (R 4.2.0)
##  rlang              1.1.1     2023-04-28 [1] CRAN (R 4.2.0)
##  rmarkdown          2.21      2023-03-26 [1] CRAN (R 4.2.0)
##  ROCR               1.0-11    2020-05-02 [2] CRAN (R 4.2.0)
##  Rsamtools          2.14.0    2022-11-01 [1] Bioconductor
##  rstudioapi         0.14      2022-08-22 [1] CRAN (R 4.2.0)
##  Rtsne              0.16      2022-04-17 [2] CRAN (R 4.2.0)
##  S4Vectors          0.36.2    2023-02-26 [1] Bioconductor
##  sass               0.4.5     2023-01-24 [1] CRAN (R 4.2.0)
##  scales             1.2.1     2022-08-20 [1] CRAN (R 4.2.0)
##  scattermore        0.8       2022-02-14 [1] CRAN (R 4.2.0)
##  sctransform        0.3.5     2022-09-21 [1] CRAN (R 4.2.0)
##  sessioninfo        1.2.2     2021-12-06 [2] CRAN (R 4.2.0)
##  Seurat           * 4.3.0     2022-11-18 [1] CRAN (R 4.2.0)
##  SeuratObject     * 4.1.3     2022-11-07 [1] CRAN (R 4.2.0)
##  shiny              1.7.4     2022-12-15 [1] CRAN (R 4.2.0)
##  Signac           * 1.9.0     2022-12-08 [1] CRAN (R 4.2.0)
##  sp                 1.6-0     2023-01-19 [1] CRAN (R 4.2.0)
##  spatstat.data      3.0-1     2023-03-12 [1] CRAN (R 4.2.0)
##  spatstat.explore   3.1-0     2023-03-14 [1] CRAN (R 4.2.0)
##  spatstat.geom      3.1-0     2023-03-12 [1] CRAN (R 4.2.0)
##  spatstat.random    3.1-4     2023-03-13 [1] CRAN (R 4.2.0)
##  spatstat.sparse    3.0-1     2023-03-12 [1] CRAN (R 4.2.0)
##  spatstat.utils     3.0-2     2023-03-11 [1] CRAN (R 4.2.0)
##  stringi            1.7.12    2023-01-11 [1] CRAN (R 4.2.0)
##  stringr            1.5.0     2022-12-02 [1] CRAN (R 4.2.0)
##  survival           3.5-5     2023-03-12 [1] CRAN (R 4.2.0)
##  tensor             1.5       2012-05-05 [2] CRAN (R 4.2.0)
##  tibble             3.2.1     2023-03-20 [1] CRAN (R 4.2.0)
##  tidyr              1.3.0     2023-01-24 [1] CRAN (R 4.2.0)
##  tidyselect         1.2.0     2022-10-10 [1] CRAN (R 4.2.0)
##  urlchecker         1.0.1     2021-11-30 [1] CRAN (R 4.2.0)
##  usethis            2.1.6     2022-05-25 [1] CRAN (R 4.2.0)
##  utf8               1.2.3     2023-01-31 [1] CRAN (R 4.2.0)
##  uwot               0.1.14    2022-08-22 [1] CRAN (R 4.2.0)
##  vctrs              0.6.2     2023-04-19 [1] CRAN (R 4.2.0)
##  vipor              0.4.5     2017-03-22 [2] CRAN (R 4.2.0)
##  viridisLite        0.4.2     2023-05-02 [1] CRAN (R 4.2.0)
##  withr              2.5.0     2022-03-03 [2] CRAN (R 4.2.0)
##  xfun               0.39      2023-04-20 [1] CRAN (R 4.2.0)
##  xtable             1.8-4     2019-04-21 [2] CRAN (R 4.2.0)
##  XVector            0.38.0    2022-11-01 [1] Bioconductor
##  yaml               2.3.7     2023-01-23 [1] CRAN (R 4.2.0)
##  zlibbioc           1.44.0    2022-11-01 [1] Bioconductor
##  zoo                1.8-12    2023-04-13 [1] CRAN (R 4.2.0)
## 
##  [1] /gpfs/gibbs/project/ya-chi_ho/jac369/R/4.2
##  [2] /vast/palmer/apps/avx2/software/R/4.2.0-foss-2020b/lib64/R/library
## 
## ------------------------------------------------------------------------------